﻿using System;
using System.Collections.Generic;
using Shop.Base.Entity;
using Shop.Base.Entity.Delete;
using Shop.Base.Entity.Insert;
using Shop.Base.Entity.Update;
using Shop.Entity;
using Shop.Interface;

namespace Shop.Base.Interface
{
    public interface ISystemMenuButton :IBase
    {
        /// <summary>
        /// 更新
        /// </summary>
        /// <param name="t">修改信息</param>
        bool Update(UpdateSystemMenuButton t);

        /// <summary>
        /// 新增
        /// </summary>
        /// <param name="t">修改信息</param>  
        bool Insert(AddSystemMenuButton t );

        /// <summary>
        /// 删除
        /// </summary>
        /// <param name="t">修改信息</param>
        /// <returns>true/false </returns>
        bool Delete(List<DeleteSystemMenuButton> t);

        /// <summary>
        /// 查找单个
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        SystemMenuButtonPo Find(Guid id);
        
        /// <summary>
        /// 获取菜单所有按钮
        /// </summary>
        List<SystemMenuButtonPo> GetAll(Guid menuId);

        /// <summary>
        /// 获取菜单所有按钮
        /// </summary>
        List<SystemMenuButtonPo> GetAll();

        /// <summary>
        /// 批量保存
        /// </summary>
        /// <param name="t">菜单按钮</param>
        bool MultSave(List<AddSystemMenuButton> t);
    }
}